Actuating apparatus

ABSTRACT

An actuating apparatus has an actuator including a link having a plurality of joints and a plurality of motors for actuating the joints, and a controller for controlling the actuator. The controller controls the motors with a control torque m_τ_cntrl calculated according to the equation:
 
 m _τ_cntrl= M ·( I−m Eff) −1 ·( ddθ _cntrl− m Eff·ddθ_cntrl —   p )+ C _cmpn
 
from a target angular acceleration ddθ_cntrl, a preceding target angular acceleration ddθ_cntrl_p, a displaceable member torque response matrix Eff, an inertial matrix M, and a dynamic corrective force C_cmpn.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2012-192597 filed on Aug. 31, 2012, the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an actuating apparatus for actuating joints of a robot.

2. Description of the Related Art

Japanese Laid-Open Patent Publication No. 2005-349555 discloses an apparatus for controlling a robot arm having a flexible passive joint with improved controllability against model parameter errors and disturbances.

SUMMARY OF THE INVENTION

The apparatus disclosed in Japanese Laid-Open Patent Publication No. 2005-349555 is capable of controlling a flexible passive joint with improved controllability against disturbances. However, when the joint is actuated at a target angular acceleration, there occurs a response delay such as a first order lag or the like between the target angular acceleration and an actual angular acceleration of the joint, and followability, i.e., the ability to track the target angular acceleration, is deteriorated.

It is an object of the present invention to provide an actuating apparatus which improves followability of actual angular acceleration with respect to a target angular acceleration of a joint.

According to the present invention, there is provided an actuating apparatus comprising an actuator including a link having a plurality of displaceable members and a plurality of rotary prime movers for actuating the displaceable members, and a controller for controlling the actuator, wherein the controller includes a control torque calculator for calculating a control torque for the displaceable members so that an actual angular acceleration of the displaceable members will reach a present target angular acceleration of the displaceable members after a sampling time, using a displaceable member torque response matrix representing a torque response of the displaceable members, an inertial matrix of the actuator determined by an angle of the displaceable members, the present target angular acceleration of the displaceable members, and a preceding target angular acceleration of the displaceable members.

In the above actuating apparatus, each of the displaceable members comprises a joint which is rotatable or a back-and-forth member which is actuatable back and forth.

In the above actuating apparatus, the controller calculates the control torque according to the following equation (1):

$\begin{matrix} {{{{m\_\tau}{\_ cntrl}} = {{M \cdot \left( {I - {mEff}} \right)^{- 1} \cdot \left( {{dd\theta\_ cntrl} - {{{mEff} \cdot {dd\theta\_ cntrl}}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{20mu}{where}\mspace{20mu}{{mEff} = {M^{- 1} \cdot {Eff} \cdot M}}{{{Eff} = {\begin{pmatrix} {eff}_{1} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {eff}_{n} \end{pmatrix} = \begin{pmatrix} {\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)} \end{pmatrix}}},\mspace{20mu}{{{m\_\tau}{\_ cntrl}} = \begin{pmatrix} {{m\_\tau}_{1}{\_ cntrl}} \\ {{m\_\tau}_{2}{\_ cntrl}} \\ \vdots \\ {{m\_\tau}_{n}{\_ cntrl}} \end{pmatrix}},{{dd\theta\_ cntrl} = \begin{pmatrix} {{dd\theta}_{1}{\_ cntrl}} \\ {{dd}\;\theta_{2}{\_ cntrl}} \\ \vdots \\ {{dd}\;\theta_{n}{\_ cntrl}} \end{pmatrix}},\mspace{20mu}{{C\_ cmpn} = \begin{pmatrix} {C_{1}{\_ cmpn}} \\ {C_{2}{\_ cmpn}} \\ \vdots \\ {C_{n}{\_ cmpn}} \end{pmatrix}}}} & (1) \end{matrix}$ where m_τ_(i—)cntrl: control torques for i respective displaceable members; M: an inertial matrix of the actuator; I: a unit matrix; Eff: a displaceable member torque response matrix; eff_(i): displaceable member torque response coefficients; Tc_(i): time constants for respective displaceable members; DT: a sampling time; ddθ_(i—)cntrl: target angular accelerations for respective displaceable members; ddθ_cntrl_p: a vector representation of preceding target angular accelerations ddθ_(i—)cntrl_p for i respective displaceable members; and C_(i—)cmpn: force vectors of centrifugal forces, Coriolis forces, or the like, generated by the motion of i respective displaceable members, wherein i=0, 1, 2, . . . , n

In the above actuating apparatus, a minimum time constant of the displaceable members is measured, and displaceable member torque response coefficients which are diagonal elements of the displaceable member torque response matrix are set using the measured minimum time constant.

In the above actuating apparatus, the control torque calculator calculates the present target angular acceleration of the displaceable members and the preceding target angular acceleration of the displaceable members, using a present target acceleration of change and a preceding target acceleration of change at a predetermined task position on the link and a coefficient matrix representing the relationship between a rate of change at the task position and angular velocities of the displaceable members, for thereby calculating the control torque for the displaceable members so that an actual acceleration of change at the task position will reach the present target acceleration of change after the sampling time.

In the above actuating apparatus, the actuator includes a base supported on the link, and the control torque calculator calculates the control torque for the displaceable members so that an actual actuator displacement acceleration which includes an actual angular acceleration of the displaceable members and actual displacement accelerations in respective directions of the base will reach a present target actuator displacement acceleration after the sampling time, from the present target actuator displacement acceleration which includes the present target angular acceleration and target displacement accelerations in respective directions of the base, and a preceding target actuator displacement acceleration, using a force response matrix representing the response of a force which a task position on a distal end of the link receives from the ground, a coefficient matrix representing the relationship between rates of change in respective directions of the base and a rate of change at the task position on the link, and a coefficient matrix representing the relationship between the rate of change at the task position and an angular velocity of the displaceable members.

According to the present invention, since the control torque calculator calculates a control torque for the displaceable members so that an actual angular acceleration of the displaceable members will reach a present target angular acceleration of the displaceable members after a sampling time, using a displaceable member torque response matrix representing a torque response of the displaceable members, an inertial matrix of the actuator determined by an angle of the displaceable members, the present target angular acceleration of the displaceable members, and a preceding target angular acceleration of the displaceable members, the actuation of a plurality of joints can be controlled with an improved responsiveness, making it possible to enhance followability of the actual angular accelerations of the joints with respect to the target angular accelerations of the joints.

According to the present invention, furthermore, since the control torque calculator calculates the present target angular acceleration of the displaceable members and the preceding target angular acceleration of the displaceable members, using a present target acceleration of change and a preceding target acceleration of change at a predetermined task position on the link and a coefficient matrix representing the relationship between a rate of change at the task position and angular velocities of the displaceable members, for thereby calculating the control torque for the displaceable members so that an actual acceleration of change at the task position will reach the present target acceleration of change after the sampling time, the actuation of the task position can be controlled with an improved responsiveness, making it possible to enhance followability of the actual acceleration of change at the task position with respect to the target acceleration of change at the task position.

According to the present invention, moreover, since the actuator includes a base supported on the link, and the control torque calculator calculates the control torque for the displaceable members so that an actual actuator displacement acceleration which includes an actual angular acceleration of the displaceable members and actual displacement accelerations in respective directions of the base will reach a present target actuator displacement acceleration after the sampling time, from the present target actuator displacement acceleration which includes the present target angular acceleration and target displacement accelerations in respective directions for the base, and a preceding target actuator displacement acceleration, using a force response matrix representing the response of a force which a task position on a distal end of the link receives from the ground, a coefficient matrix representing the relationship between rates of change in respective directions of the base and a rate of change at the task position on the link, and a coefficient matrix representing the relationship between the rate of change at the task position and an angular velocity of the displaceable members, the actuation of the base can be controlled with an improved responsiveness, making it possible to enhance followability of the actual displacement acceleration of the base with respect to the target displacement acceleration of the base.

The above and other objects, features, and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which preferred embodiments of the present invention are shown by way of illustrative example.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an actuating apparatus according to an embodiment of the present invention;

FIG. 2 is a schematic view of the structure of a displaceable member actuating system of an actuator;

FIG. 3 is a graph showing a first order lag of an actual torque from a target torque;

FIG. 4 is a diagram illustrative of a minimum time constant and a maximum time constant;

FIG. 5 is a functional block diagram of a controller of the actuating apparatus;

FIG. 6 is a schematic view of an actuator according to Modification 1 of the embodiment;

FIG. 7 is a schematic view of the structure of a displaceable member actuating system of an actuator according to Modification 2 of the embodiment; and

FIG. 8 is a schematic view of the structure of a displaceable member actuating system of an actuator according to Modification 3 of the embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Actuating apparatus according to preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

FIG. 1 shows an actuating apparatus 10 according to an embodiment of the present invention. As shown in FIG. 1, the actuating apparatus 10 includes an actuator 12 and a controller 14. The actuator 12 includes a link 20 having a plurality of joints 16 (16 ₁, 16 ₂) and a plurality of connectors 18 (18 ₁, 18 ₂). The connectors 18 are interconnected by the joints 16 which serve as displaceable members. The joint 16 ₁ of a foundation of the link 20 is mounted on a base 19.

In FIG. 1, the actuator 12 is shown as having two joints 16 (16 ₁, 16 ₂) and two connectors 18 (18 ₁, 18 ₂). However, the actuator 12 according to the present embodiment will be described below as having n joints 16 and n connectors 18. The respective joints 16 will be represented by 16 _(i), and the respective connectors 18 will be represented by 18 _(i) where i represents i=1, 2, . . . , n, indicating the number of a joint 16 or a connector 18.

FIG. 2 shows the structure of a displaceable member actuating system 30 of the actuator 12. As shown in FIG. 2, the displaceable member actuating system 30 has a motor 32 and a speed reducer 34. A joint 16 is operatively connected to the motor 32 through the speed reducer 34.

The motor 32, which serves as a rotary prime mover, is an electric motor that is supplied with electric energy from an electric power supply, not shown, to generate a torque tending to rotate an output shaft 32 a connected to the motor 32 about its own axis. The output shaft 32 a is connected to an input shaft 34 a of the speed reducer 34 for rotating the input shaft 34 a in unison with the output shaft 32 a. The speed reducer 34 outputs rotational power input to the input shaft 34 a at a given speed reduction ratio from an output shaft 34 b thereof. The output shaft 34 b of the speed reducer 34 is connected to an input shaft 16 a of the joint 16.

The displaceable member actuating system 30 has an angle sensor 36 for detecting an angle of the motor 32 and a torque sensor 38 for detecting a torque applied to the joint 16. For an easier understanding of the present invention, the speed reducer 34 will be omitted from description and the angle and torque of the motor 32 will be described as the angle and torque of the joint 16. The angles of the respective joints 16 i, i.e., the angles of the motors 32 which actuate the respective joints 16 _(i), will be represented by θ_(i). The angles θ_(i) of the joints 16 _(i) refer to angles from a certain reference angle. From equations of motion, the following equations are satisfied.

$\begin{matrix} {{{M \cdot {dd\theta\_ cntrl}} + {C\_ cmpn}} = {\tau\_ cntrl}} & (2) \\ {where} & \; \\ {{M = \begin{pmatrix} m_{11} & \ldots & m_{1n} \\ \vdots & \ddots & \vdots \\ m_{n\; 1} & \ldots & m_{nn} \end{pmatrix}},{{dd\theta\_ cntrl} = \begin{pmatrix} {{dd}\;\theta_{1}{\_ cntrl}} \\ {{dd}\;\theta_{2}{\_ cntrl}} \\ \vdots \\ {{dd}\;\theta_{n}{\_ cntrl}} \end{pmatrix}}} & \; \\ {{{C\_ cmpn} = \begin{pmatrix} {C_{1}{\_ cmpn}} \\ {C_{2}{\_ cmpn}} \\ \vdots \\ {C_{n}{\_ cmpn}} \end{pmatrix}},{{\tau\_ cntrl} = \begin{pmatrix} {\tau_{1}{\_ cntrl}} \\ {\tau_{2}{\_ cntrl}} \\ \vdots \\ {\tau_{n}{\_ cntrl}} \end{pmatrix}}} & \; \\ {{{M \cdot {dd\theta\_ act}} + {C\_ cmpn}} = {\tau\_ act}} & (3) \\ {where} & \; \\ {{{dd\theta\_ act} = \begin{pmatrix} {{dd}\;\theta_{1}{\_ act}} \\ {{dd}\;\theta_{2}{\_ act}} \\ \vdots \\ {{dd}\;\theta_{n}{\_ act}} \end{pmatrix}},{{\tau\_ act} = \begin{pmatrix} {\tau_{1}{\_ act}} \\ {\tau_{2}{\_ act}} \\ \vdots \\ {\tau_{n}{\_ act}} \end{pmatrix}}} & \; \end{matrix}$

In the above equations, a target torque τ_cntrl is a vector representation of target torques τ_(i—)cntrl for the motors 32 which actuate the respective joints 16 _(i) (target torques τ_(i—)cntrl for the joints 16 _(i)). A target angular acceleration ddθ_cntrl is a vector representation of target angular accelerations ddθ_(i—)cntrl for the motors 32 which actuate the respective joints 16 _(i) (target angular accelerations ddθ_(i—)cntrl for the respective joints 16 _(i)). The target angular accelerations ddθ_(i—)cntrl for the respective joints 16 _(i) are target angular accelerations for the respective joints 16 _(i) at the time the target torques τ_(i—)cntrl are applied to the respective joints 16 _(i).

An actual torque τ_act is a vector representation of actual torques τ_(i—)act of the motors 32 which actuate the respective joints 16 _(i) (actual torques τ_(i—)act of the respective joints 16 _(i)). An actual angular acceleration ddθ_act is a vector representation of actual angular accelerations ddθ_(i—)act of the motors 32 which actuate the respective joints 16 _(i) (actual angular accelerations ddθ_(i—)act of the respective joints 16 _(i)). The actual angular accelerations ddθ_(i—)act of the respective joints 16 _(i) are actual angular accelerations of the respective joints 16 _(i) at the time the actual torques τ_(i—)act are applied to the respective joints 16 _(i).

A dynamic corrective force C_cmpn is a vector representation of dynamic corrective forces C_(i—)cmpn which represent force vectors generated by the angles θ_(i) and angular accelerations dθ_(i) of the motors 32 of the respective joints 16 _(i) under a centrifugal force, a Coriolis force, etc. An inertial matrix M is a matrix representing the inertial moment (inertia) of the actuator 12. The dynamic corrective force C_cmpn and the inertial matrix M are determined depending on the angles of the respective joints 16 _(i) (the angles of the motors 32 of the respective joints 16 _(i)).

Ideally, since a target torque τ_cntrl is equal to an actual torque τ_act, an actual angular acceleration ddθ_act is equal to target angular acceleration ddθ_cntrl. In reality, however, an actual torque τ_act is a first order lag system of a target torque τ_cntrl, and the above ideal relationship does not hold true upon elapse of a sampling time DT, as shown in FIG. 3. An actual torque τ_act is expressed by the following equation:

$\begin{matrix} {{{\tau\_ act} = {{\left( {{{\tau\_ cntrl} \cdot {\tau\_ cntrl}}{\_ p}} \right) \cdot L} + {{\tau\_ act}{\_ p}}}}{where}{L = \begin{pmatrix} {1 - {\exp\left( {- \frac{t}{{Tc}_{1}}} \right)}} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {1 - {\exp\left( {- \frac{t}{{Tc}_{n}}} \right)}} \end{pmatrix}}} & (4) \end{matrix}$

In the above equation, τ_cntrl_p refers to a vector representation of preceding target torques τ_(i—)cntrl_p for the motors 32 of the respective joints 16 _(i), τ_act_p refers to a vector representation of preceding actual torques τ_(i—)act_p of the motors 32 of the respective joints 16 _(i), t represents time, Tc_(i) represents time constants of the motors 32 of the respective joints 16 _(i), and L represents a diagonal matrix. In FIG. 3, it is assumed that the actuating apparatus starts from a still state, and the preceding target torque τ_cntrl_p is of the same value as the preceding actual torque τ_act_p. In the present embodiment, any value denoted with “_p” represents a preceding value.

The equation (4) may be integrated with respect to the sampling time DT and divided by the sampling time DT to derive the equation (5) shown below. A diagonal matrix Eff is a displaceable member torque response matrix representing the torque responses of the motors 32 of plural joints 16, and diagonal elements thereof are represented by eff_(i) that indicates displaceable member torque response coefficients of the motors 32 of the respective joints 16 _(i).

Specifically, eff₁ indicates the displaceable member torque response coefficient of the motor 32 of the joint 16 ₁, and eff₂ indicates the displaceable member torque response coefficient of the motor 32 of the joint 16 ₂. Since it is assumed that the actuating apparatus starts from a still state, the equation (5) is derived from the equation (4) using the equation: τ_act_p=τ_cntrl_p.

$\begin{matrix} {\mspace{79mu}{{{\tau\_ act} = {{\tau\_ cntrl} - {{Eff} \cdot \left( {{{\tau\_ cntrl} \cdot {\tau\_ cntrl}}{\_ p}} \right)}}}\mspace{20mu}{where}{{Eff} = {\begin{pmatrix} {eff}_{1} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {eff}_{n} \end{pmatrix} = \begin{pmatrix} {\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)} \end{pmatrix}}}}} & (5) \end{matrix}$

The following equation (6) can be derived from the equation (5). τ_act=(I−Eff)·τ_=cntrl+Eff·τ_cntrl_(—) p  (6)

The following equation (7) can be derived from the equations (2) and (6). τ_act=(I−Eff)·(M·ddθ_cntrl+C_cmpn)+Eff·(M·ddθ_cntrl_(—) p+C_cmpn_(—) p)  (7) where ddθ_cntrl_p is a vector representation of preceding target angular accelerations ddθ_(i—)cntrl_p for the motors 32 of the respective joints 16 _(i), and C_cmpn_p is a vector representation of preceding dynamic corrective forces C_(i—)cmpn_p.

Since the dynamic corrective force C_cmpn does not change greatly from the preceding dynamic corrective force C_cmpn_p in one sampling time DT, the dynamic corrective force C_cmpn can be regarded as being equal to the preceding dynamic corrective force C_cmpn_p. Therefore, the following equation (8) can be derived from the equations (3), (7), and the equation C_cmpn=C_cmpn_p. ddθ_act=M ⁻¹·(I−Eff)·M·ddθ_cntrl+M ⁻¹·Eff·M·ddθ_cntrl_(—) p=(I−mEff)·ddθ_cntrl+mEff·ddθ_cntrl_(—) p  (8) where mEff=M ⁻¹·Eff·M

In order for the actual angular acceleration ddθ_act to reach the value of the target angular acceleration ddθ_cntrl after a sampling time, it needs to satisfy the following equation (9).

$\begin{matrix} {{{dd\theta\_ cntrl} = {\left. {{{\left( {I - {mEff}} \right) \cdot {m\_ dd}}\;{\theta\_ cntrl}} + {{{mEff} \cdot {dd\theta\_ cntrl}}{\_ p}}}\Rightarrow{{m\_ dd\theta}{\_ cntrl}} \right. = {{\left( {I - {mEff}} \right)^{- 1} \cdot {dd\theta\_ cntrl}} - {{\left( {I - {mEff}} \right)^{- 1} \cdot {mEff} \cdot {dd\theta\_ cntrl}}{\_ p}}}}}\mspace{20mu}{{{m\_ dd\theta}{\_ cntrl}} = \begin{pmatrix} {{m\_ dd\theta}_{1}{\_ cntrl}} \\ {{m\_ dd\theta}_{2}{\_ cntrl}} \\ \vdots \\ {{m\_ dd\theta}_{n}{\_ cntrl}} \end{pmatrix}}} & (9) \end{matrix}$

In the above equation (9), a control angular acceleration m_ddθ_cntrl is a vector representation of control angular accelerations m_ddθ_(i—)cntrl for the motors 32 of the respective joints 16 _(i), and control angular accelerations m_ddθ_(i—)cntrl are control angular accelerations for making the actual angular accelerations ddθ_(i—)act of the motors 32 of the respective joints 16 _(i) reach the values of the target angular accelerations ddθ_(i—)cntrl after a sampling time.

Using the control angular acceleration m_ddθ_cntrl, the equation (2) can be expressed as follows:

$\begin{matrix} {{{{{M \cdot {m\_ dd}}\;{\theta\_ cntrl}} + {C\_ cmpn}} = {{m\_\tau}{\_ cntrl}}}{where}{{{m\_\tau}{\_ cntrl}} = \begin{pmatrix} {{m\_\tau}_{1}{\_ cntrl}} \\ {{m\_\tau}_{2}{\_ cntrl}} \\ \vdots \\ {{m\_\tau}_{n}{\_ cntrl}} \end{pmatrix}}} & (10) \end{matrix}$

In the above equation (10), a control torque m_τ_cntrl is a vector representation of control torques m_τ_(i—)cntrl for the motors 32 of the respective joints 16 _(i), and is a control torque for providing control angular accelerations m_ddθ_(i—)cntrl for the motors 32 of the respective joints 16 _(i) at the time the control torques m_τ_(i—)cntrl are applied to the motors 32 of the respective joints 16 _(i).

From the equations (9), (10), the following equation (11) can be derived. m_τ_cntrl=M·(I−mEff)⁻¹·(ddθ_cntrl−mEff·ddθ_cntrl_(—) p)+C_cmpn  (11) It is thus possible to determine control torques m_τ_(i—)cntrl for the motors 32 of the respective joints 16 _(i) so that actual angular accelerations ddθ_(i—)act of the motors 32 of the respective joints 16 _(i) reach present target angular accelerations ddθ_(i—)cntrl after a sampling time DT, using the present target angular accelerations ddθ_(i—)cntrl for the motors 32 of the respective joints 16 _(i), preceding target angular accelerations ddθ_(i—)cntrl_p for the motors 32 of the respective joints 16 _(i), an inertial matrix M, and a displaceable member torque response matrix Eff, etc.

The target angular acceleration ddθ_cntrl is determined by a PD control process according to the equation ddθ_cntrl=Kp·(θ_des−θ_act)+Kv·(dθ_des−dθ_act). Control torques m_τ_(i—)cntrl are determined from the target angular acceleration ddθ_cntrl thus determined, and the motors 32 of the joints 16 _(i) are controlled according to the control torques m_τ_(i—)cntrl thus determined. Therefore, the motors 32 of the respective joints 16 _(i) are controlled with an improved responsiveness.

In the above equation, Kp represents a proportionality gain, Kv represents a derivative gain, θ_des represents a vector representation of demand angles θ_(i—)des for the motors 32 of the respective joints 16 _(i), θ_act is a vector representation of actual angles θ_(i—)act of the motors 32 of the respective joints 16 _(i), dθ_des is a vector representation of demand angular velocities dθ_(i—)des for the motors 32 of the respective joints 16 _(i), and dθ_act is a vector representation of actual angular velocities dθ_(i—)act of the motors 32 of the respective joints 16 _(i). The actual angles θ_(i—)act are of values detected by the angle sensors 36 of the motors 32 of the respective joints 16 _(i), and the actual angular velocities dθ_(i—)act are determined from the actual angles θ_(i—)act.

The responsiveness of a predetermined task position A (see FIG. 1) on the link 20 can be improved to control the actuation of the task position A. Since the link 20 is supported by the joints 16 at a certain posture, the task position A changes when the angular velocities dθ_(i) of the motors 32 of the respective joints 16 _(i) change. This can be expressed by the following equation (12), using a Jacobian matrix J.

$\begin{matrix} {{{ddx\_ cntrl} = J}{\cdot {dd\theta\_ cntrl}}{where}{{{ddx\_ cntrl} = \begin{pmatrix} {{dd}\; x_{1}{\_ cntrl}} \\ {{dd}\; x_{2}{\_ cntrl}} \\ \vdots \\ {{dd}\; x_{n}{\_ cntrl}} \end{pmatrix}},{{{dd}\mspace{11mu}{\theta\_ cntrl}} = \begin{pmatrix} {{dd}\;\theta_{1}{\_ cntrl}} \\ {{{dd}\theta}_{2}{\_ cntrl}} \\ \vdots \\ {{{dd}\theta}_{n}{\_ cntrl}} \end{pmatrix}}}} & (12) \end{matrix}$ where a target angular velocity dθ_cntrl is a vector representation of target angular velocities dθ_(i—)cntrl for the motors 32 of the respective joints 16 _(i), and a target rate of change dx_cntrl is a vector representation of target rates of change dx_(1—)cntrl, dx_(2—)cntrl, dx_(n—)cntrl in respective directions at the task position A. The directions include an x-axis direction, a y-axis direction, a rotational direction about an x-axis, and a rotational direction about a y-axis.

When the equation (12) is differentiated, it is expressed by the equation (13) below. In the equation (13), a target acceleration of change ddx_cntrl is a vector representation of target accelerations of change ddx_(1—)cntrl, ddx_(2—)cntrl, ddx_(n—)cntrl in respective directions at the task position A.

$\begin{matrix} {{{ddx\_ cntrl} = {{{ddJ} \cdot {dd\theta\_ cntrl}} + {J \cdot {dd\theta\_ cntrl}}}}{where}{{ddx\_ cntrl} = \begin{pmatrix} {{ddx}_{1}{\_ cntrl}} \\ {{ddx}_{2}{\_ cntrl}} \\ \vdots \\ {{ddx}_{n}{\_ cntrl}} \end{pmatrix}}} & (13) \end{matrix}$

Consequently, J·ddθ_cntrl−J·mEff·ddθ_cntrl_p can be expressed by the equation (14) below, using the equation (13). dθ_cntrl_p is a vector representation of preceding target angular velocities dθ_(i—)cntrl_p for the motors 32 of the respective joints 16 _(i), and ddx_cntrl_p is a vector representation of preceding target accelerations of change ddx_(i—)cntrl_p in respective directions at the task position A.

$\begin{matrix} {{{{J \cdot {dd\theta\_ cntrl}} - {{J \cdot m}\;{{Eff} \cdot {dd\theta\_ cntrl}}{\_ p}}} = {{{ddx\_ cntrl} - {{dd}\;{J \cdot {dd\theta\_ cntrl}}} - {{J \cdot m}\;{{Eff} \cdot \left( {{{J^{- 1} \cdot {ddx\_ cntrl}}{\_ p}} - {{J^{- 1} \cdot {dd}}\;{J \cdot {dd\theta\_ cntrl}}{\_ p}}} \right)}}} = {{ddx\_ cntrl} - {j\; m\;{{Eff} \cdot {ddx\_ cntrl}}{\_ p}} - \left( {{{dd}\;{J \cdot {dd\theta\_ cntrl}}} - {j\; m\;{{Eff} \cdot {dd}}\;{J \cdot {dd\theta\_ cntrl}}{\_ p}}} \right)}}}\mspace{79mu}{where}\mspace{79mu}{{j\; m\;{Eff}} = {{J \cdot m}\;{{Eff} \cdot J^{- 1}}}}} & (14) \end{matrix}$

The equation (14) can be modified into the following equation (15). J·filtd _(—) ddθ_cntrl=filtd _(—) ddx_cntrl−(dJ·dθ_cntrl−jmEff·dJ·dθ_cntrl_(—) p)  (15) where filtd _(—) ddθ_cntrl=ddθ_cntrl−mEff·ddθ_cntrl_(—) p filtd _(—) ddx_cntrl=ddx_cntrl−jmEff·ddx_cntrl_(—) p

The equation (11) can be modified into the following equation (16): M′·(ddθ_cntrl−mEff·ddθ_cntrl_(—) p)+C_cmpn=m_τ_cntrl  (16) where M′=M·(I−mEff)⁻¹

The following equation (17) is derived by multiplying the terms of the equation (16) by J·(M′)⁻¹. J·(ddθ_cntrl−mEff·ddθ_cntrl_(—) p)+J·(M′)⁻¹ ·C_cmpn=J·(M′)⁻¹ ·m_τ_cntrl  (17)

The equation (17) can be rewritten as follows, using the equations in the proviso of the equation (15). J·filtd _(—) ddθ_cntrl+J·(M′)⁻¹ ·C_cmpn=J·(M′)⁻¹ ·m_τ_cntrl  (18)

The control torque m_τ_cntrl and the force F at the task position A can be expressed as follows, using the transposed matrix J^(T) of the Jacobian matrix J. The force F is a vector representation of forces f₁, f₂, . . . , f_(n) in respective directions at the task position A.

$\begin{matrix} {{{{m\_\tau}{\_ cntrl}} = {J^{T} \cdot F}}{where}{F = \begin{pmatrix} f_{1} \\ f_{2} \\ \vdots \\ f_{n} \end{pmatrix}}} & (19) \end{matrix}$

Using the equations (15), (19), the equation (18) can be modified in the following equation (20). filted _(—) ddx_cntrl−(dJ·dθ_cntrl−jmEff·dJ·dθ_cntrl_(—) p)+J·(M′)⁻¹ ·C_cmpn=J·(M′)⁻¹ ·J ^(T) ·F  (20)

The equation (20) can be modified into the following equation (21). Λ′·filtd _(—) ddx_cntrl−Λ′·(dJ·dθ_cntrl−jmEff·dJ·dθ_cntrl_(—) p)+Λ′·J·(M′)⁻¹ ·C_cmpn=F  (21) where Λ′=(J·(M′)⁻¹ ·J ^(T))⁻¹

The equation (21) can be modified into the following equation (22).

$\begin{matrix} {\mspace{79mu}{{{{{\Lambda^{\prime} \cdot {filtd\_ dd}}\;{x\_ cntrl}} + \mu} = F}\mspace{79mu}{Where}{\mu = {{{- \Lambda^{\prime}} \cdot \left( {{{dd}\;{J \cdot {dd\theta\_ cntrl}}} - {j\; m\;{{Eff} \cdot {dd}}\;{J \cdot {dd\theta\_ cntrl}}{\_ p}}} \right)} + {\Lambda^{\prime} \cdot J \cdot \left( M^{\prime} \right)^{- 1} \cdot {C\_ cmpn}}}}}} & (22) \end{matrix}$

Since the equation (11) can be modified into the equation (22), the responsiveness of the task position A can be improved by controlling the actuation of the motors 32 of the respective joints 16 _(i). Specifically, using the present target acceleration of change ddx_cntrl and the preceding target acceleration of change ddx_cntrl_p at the task position A, the force F at the task position A can be determined so that the actual acceleration of change ddx_act at the task position A reaches the target acceleration of change ddx_cntrl at the task position A. Based on the determined force F, the control torques m_τ_cntrl for the respective joints 16 _(i) are determined according to the equation (19), and the motors 32 of the respective joints 16 _(i) are controlled based on the determined control torques m_τ_cntrl, thereby improving the responsiveness of the task position A.

Using the equation (12), the equation (13) can be modified as follows: ddθ_cntrl=J ⁻¹ ·ddx_cntrl−J ⁻¹ ·dJ·dθ_cntrl

ddθ_cntrl=J ⁻¹ ·ddx_cntrl−J ⁻¹ ·dJ·J ⁻¹ ·dx_cntrl  (23)

The following equation (24) can be derived from the equation (23). ddθ_cntrl_(—) p=J ⁻¹ ·ddx_cntrl_(—) p−J ⁻¹ ·dJ·J ⁻¹ ·dx_cntrl_(—) p  (24)

By substituting the equations (23), (24) in ddθ_cntrl and ddθ_cntrl_p in the equation (11), it is possible to determine control torques m_τ_(i—)cntrl for the motors 32 of the respective joints 16 _(i) for improving the responsiveness of the task position A. Specifically, it is possible to determine the control torques m_τ_(i—)cntrl for the motors 32 of the respective joints 16 _(i), using the present target acceleration of change ddx_cntrl, the preceding target acceleration of change ddx_cntrl_p, the present target rate of change dx_cntrl, and the preceding target rate of change dx_cntrl_p.

The time constant Tc_(i) which represents the torque response of the motors 32 of the respective joints 16 _(i) is different dependent on the inertial moments of the support and load sides, such as the state of the link 20, e.g., the actual angles θ_(i—)act of the motors 32 of the joints 16 _(i).

For example, as shown in FIG. 4, the joint 16 ₁ at the foundation of the link 20 as indicated by the solid lines and the joint 16 ₁ at the foundation of the link 20 as indicated by the two-dot-and-dash lines have different load states, different torque responses, and different time constants Tc_(i). Therefore, the time constants Tc_(i) of the motors 32 of the respective joints 16 _(i) are measured, and are set in a range of a minimum time constant Tc_(i—)min<time constant Tc_(i)<a maximum time constant Tc_(i—)max.

If the time constant Tc_(i) is set to the maximum time constant Tc_(i—)max, then the behavior of the joints may be improved excessively. If the time constant Tc_(i) is set to the minimum time constant Tc_(i—)min, then the behavior of the joints may be stabilized excessively. However, usually, the time constant Tc_(i) should preferably be set to the minimum time constant Tc_(i—)min.

As described above, the time constants Tc_(i) of the motors 32 of the respective joints 16 _(i) are thus set, and the values of eff_(i) which represent the diagonal elements of the displaceable member torque response matrix Eff described above are determined based on the set time constants Tc_(i).

FIG. 5 is a functional block diagram of the controller 14. As shown in FIG. 15, the controller 14 includes a response matrix setter 50, a matrix determiner 52, a dynamic corrective force determiner 54, a target value setter 56, a control torque calculator 58, and a motor controller 60.

The response matrix setter 50 determines time constants Tc_(i) of the joints 16 _(i) based on the minimum time constant Tc_(i—)min and the time constant Tc_(i—)max which have been measured for the respective joints 16 i. Then, the response matrix setter 50 sets a displaceable member torque response matrix Eff by determining displaceable member torque response coefficients eff_(i) of the joints 16 _(i) at the determined time constants Tc_(i), as indicated by the equation (5). According to the present embodiment, the response matrix setter 50 sets the minimum time constant Tc_(i—)min of the joints 16 _(i) as the time constants Tc_(i) of the respective joints 16 _(i). Then, the response matrix setter 50 outputs the set displaceable member torque response matrix Eff to the control torque calculator 58.

The matrix determiner 52 determines an inertial matrix M representing the inertial moment of the actuator 12 based on the actual angles θ_act of the plural joints 16. The matrix determiner 52 also determines a Jacobian matrix (coefficient matrix) J depending on the task position A and the actual angles θ_act of the plural joints 16. The task position A may be detected by a gyro sensor or the like disposed in the task position A, or may be calculated from the actual angles θ_(i—)act of the joints 16 _(i). The processes of calculating the inertial matrix M and the Jacobian matrix J are well known in the art and will not be described in detail below. The matrix determiner 52 outputs the determined inertial matrix M and the determined Jacobian matrix J to the control torque calculator 58.

The dynamic corrective force determiner 54 calculates dynamic corrective forces C_(i—)cmpn which represent force vectors generated by the actual angles θ_(i) and the actual angular accelerations dθ_(i) of the respective joints 16 _(i) under centrifugal forces, Coriolis forces, etc. The dynamic corrective force determiner 54 calculates dynamic corrective forces C_(i—)cmpn for the respective joints 16 _(i) depending on the angles θ_(i) of the respective joints 16 _(i). The process of calculating dynamic corrective forces C_(i—)cmpn is well known in the art and will not be described in detail below. The dynamic corrective force determiner 54 outputs the calculated dynamic corrective forces C_(i—)cmpn to the control torque calculator 58.

The target value setter 56 sets a target angular acceleration ddθ_cntrl for the plural joints 16 or a target acceleration of change ddx_cntrl for the task position A. The target angular acceleration ddθ_cntrl can be determined by a PD control process according to the equation ddθ_cntrl=Kp·(θ_des−θ_act)+Kv·(dθ_des−dθ_act). The demand angle θ_des and the demand angular velocity dθ_des or the target acceleration of change ddx_cntrl is determined depending on various factors such as the states of the joints 16 or the task position A. The target value setter 56 outputs the set target angular acceleration ddθ_cntrl for the plural joints 16 or the set target acceleration of change ddx_cntrl to the control torque calculator 58.

The control torque calculator 58 calculates control torques m_τ_cntrl for the plural joints 16 based on the target angular acceleration ddθ_cntrl or the target acceleration of change ddx_cntrl sent from the target value setter 56. Specifically, if the control torque calculator 58 is supplied with the target angular acceleration ddθ_cntrl from the target value setter 56, then the control torque calculator 58 calculates control torques m_τ_cntrl according to the equation (11) from the target angular acceleration ddθ_cntrl, the preceding target angular acceleration ddθ_cntrl_p, the displaceable member torque response matrix Eff, the inertial matrix M, and the dynamic corrective force C_cmpn.

If the control torque calculator 58 is supplied with the target acceleration of change ddx_cntrl from the target value setter 56, then the control torque calculator 58 calculates control torques m_τ_cntrl according to the equation (22) (see the equations (12) through (21) or the equations (11), (23), (24), using the target acceleration of change ddx_cntrl, the preceding target acceleration of change ddx_cntrl_p, the displaceable member torque response matrix Eff, the inertial matrix M, the dynamic corrective force C_cmpn, and the Jacobian matrix J. The control torque calculator 58 outputs the calculated control torques m_τ_cntrl for the plural joints 16 to the motor controller 60.

The motor controller 60 controls the plural motors 32 based on the supplied control torques m_τ_cntrl for the plural joints 16. In this manner, the actuation of the joints 16 _(i) or the task position A can be controlled with the improved responsiveness of the joints 16 _(i) or the improved responsiveness of the task position A. Consequently, the followability of the actual torque τ_act with respect to the target torque τ_cntrl, i.e., the followability of the actual angular acceleration ddθ_act with respect to the target angular acceleration ddθ_cntrl can be increased.

As described above, the controller 14 calculates control torques m_τ_cntrl for the plural joints 16 so that the actual angular accelerations ddθ_act of the plural joints 16 will reach the present target angular accelerations ddθ_cntrl of the plural joints 16 after the sampling time DT, using the displaceable member torque response matrix Eff representing the torque responses of the plural joints 16, the inertial matrix M of the actuator 12 determined by the angles θ of the plural motors 32, the present target angular accelerations ddθ_cntrl of the plural joints 16, and the preceding target angular accelerations ddθ_cntrl_p of the plural joints 16. Therefore, the actuation of the plural joints 16 can be controlled with an improved responsiveness, making it possible to enhance followability of the actual angular accelerations ddθ_act of the plural joints 16 with respect to the target angular accelerations ddθ_cntrl of the plural joints 16.

The controller 14 also calculates control torques m_τ_cntrl for the plural joints 16 so that the actual acceleration of change ddx_act at the task position A will reach the target acceleration of change ddx_cntrl at the task position A after the sampling time DT, using the displaceable member torque response matrix Eff representing the torque responsiveness of the plural joints 16, the inertial matrix M and the Jacobian matrix J of the actuator 12 determined by the angles θ of the plural motors 32, the present target acceleration of change ddx_cntrl at the predetermined task position A of the link 20, and the preceding target acceleration of change ddx_cntrl_p at the task position A. Therefore, the actuation of the plural joints 16 can be controlled with an improved responsiveness, making it possible to enhance followability of the actual angular accelerations ddθ_act of the plural joints 16 with respect to the target angular accelerations ddθ_cntrl of the plural joints 16. Consequently, the actuation of the task position A can be controlled with an improved responsiveness, making it possible to enhance followability of the actual acceleration of change ddx_act at the task position A with respect to the target acceleration of change ddx_cntrl at the task position A.

MODIFICATIONS

The above embodiment may be modified as follows:

Modification 1

According to Modification 1, the torque response of an object which is connected to a link and which cannot be actuated by itself is improved.

FIG. 6 shows an actuator 12 according to Modification 1. As shown in FIG. 6, the actuator 12 includes two links 20 for use as legs and a base 80 supported on the links 20. The left link is referred to as a link 20L, and the right link is referred to as a link 20R.

In FIG. 6, the links 20L, 20R have respective sets of three joints, i.e., joints 16 ₁L, 16 ₁R, joints 16 ₂L, 16 ₂R, and joints 16 ₃L, 16 ₃R. The joints 16 ₁L, 16 ₁R are connected to the base 80. Alternatively, the links 20L, 20R may have respective sets of two joints 16 _(i) or four or more joints 16 _(i). According to Modification 1, the actuator includes n joints 16, and the joints 16 of the links 20L, 20R are denoted by 16 _(i).

The base 80 is free of joints and motors for actuating such joints, and hence cannot be actuated by itself. However, the base 80 is indirectly actuated freely when the links 20L, 20R are actuated. The structure shown in FIG. 6 is expressed by the following equation of motion.

$\begin{matrix} {{{{M \cdot \begin{pmatrix} {ddbase\_ act} \\ {dd\theta\_ act} \end{pmatrix}} + \begin{pmatrix} {{C\_ cmpn}{\_ base}} \\ {C\_ cmpn} \end{pmatrix} + {\begin{pmatrix} {J\;{base}^{T}} \\ J^{T} \end{pmatrix} \cdot F}} = \begin{pmatrix} 0 \\ {\tau\_ act} \end{pmatrix}}\mspace{79mu}{where}{{{{dd}\;{base}} = \begin{pmatrix} {{dd}\;{base}_{1}{\_ act}} \\ {{dd}\;{base}_{2}{\_ act}} \\ \vdots \\ {{dd}\;{base}_{n}{\_ act}} \end{pmatrix}},{{{C\_ cmpn}{\_ base}} = \begin{pmatrix} {C_{1}{\_ cmpn}{\_ base}} \\ {C_{2}{\_ cmpn}{\_ base}} \\ \vdots \\ {C_{n}{\_ cmpn}{\_ base}} \end{pmatrix}}}} & (25) \end{matrix}$

In the above equation, an actual displacement acceleration ddbase_act is a vector representation of actual displacement accelerations ddbase_(i—)act, ddbase_(2—)act, . . . , ddbase_(n—)act in respective directions on the base 80. The directions include an x-axis direction, a y-axis direction, a z-axis direction, a rotational direction about an x-axis, a rotational direction about a y-axis, and a rotational direction about a z-axis, etc. The dynamic corrective force C_cmpn_base is a vector representation of dynamic corrective forces C_(i—)cmpn_base, C₂ cmpn_base, . . . , C, cmpn_base in respective directions on the base 80 under a centrifugal force, a Coriolis force, etc. The dynamic corrective force C_cmpn_base is determined by the dynamic corrective force determiner 54.

Jbase represents a Jacobian matrix (coefficient matrix) representing the relationship between rates of change in respective directions on the base 80 and a rate of change at a foot tip (task position A) as the distal end of the link 20L (20R). J represents a Jacobian matrix representing the relationship between the angular velocities dθ_(i) of the motors 32 of the respective joints 16 _(i) and a rate of change at a foot tip (task position A) of the link 20L (20R). The Jacobian matrixes Jbase, J are determined by the matrix determiner 52 depending on the position of the base 80, the position of the foot tip, and the actual angles θ_act of the plural joints 16, and the like.

As can be seen from the equation (25), the actual torques τ_act of the motors 32 of the respective joints 16 _(i) are determined based on the torques (M·ddθ_act) that are determined based on the actual angular accelerations ddθ_act of the motors 32 of the plural joints 16 and the torques (J^(T)·F) that are applied to the plural joints 16 based on the force F which the task position A receives from the ground. An actual torque to be applied to the base 80 is determined based on the torque (M·ddbase_act) that is determined based on the actual displacement acceleration ddbase_act of the base 80 and the torques (Jbase^(T)·F) that are applied in respective directions to the base 80 based on the force F borne by the task position A. However, since the base 80 has no motor, the actual torque to be applied thereto is nil.

The equation (25) can be modified into the following equation (26).

$\begin{matrix} {{{M \cdot \begin{pmatrix} {ddbase\_ act} \\ {dd\theta\_ act} \end{pmatrix}} + \begin{pmatrix} {{C\_ cmpn}{\_ base}} \\ {C\_ cmpn} \end{pmatrix}} = {\begin{pmatrix} {{- J}\;{{base}^{T} \cdot F}} \\ {{\tau\_ act} - {J^{T} \cdot F}} \end{pmatrix} = \begin{pmatrix} {{\tau\_ x}{\_ act}} \\ {{\tau\_\theta}{\_ act}} \end{pmatrix}}} & (26) \end{matrix}$

The equation (26) can be expressed by the equation (27) below. ddq_act which represents the actual angular accelerations ddθ_act of the plural joints 16 and the actual displacement acceleration ddbase_act of the base 80 is referred to as an actual actuator displacement acceleration, and τ_total_act which represents τ_x_act and τ_θ_act is referred to as a general actual torque.

$\begin{matrix} {{{{M \cdot {ddq\_ act}} + {C^{\prime}{\_ cmpn}}} = {{\tau\_ total}{\_ act}}}{where}{{{ddq\_ act} = \begin{pmatrix} {ddbase\_ act} \\ {dd\theta\_ act} \end{pmatrix}},{{{\tau\_ total}{\_ act}} = \begin{pmatrix} {{\tau\_ x}{\_ act}} \\ {{\tau\_\theta}{\_ act}} \end{pmatrix}}}} & (27) \end{matrix}$

The force F that is received by the task position A can be expressed by the equation (28) below as is the case with the equation (6). In the equation (28), F_Eff is a force response matrix representing the response of a force received by the foot tip as the task position A, the force response matrix having diagonal elements represented by force response coefficients f_eff₁, f_eff₂, . . . , f_eff_(n). F_cntrl is a target force to be received by the task position A (target force). A force F that is actually received by the task position A with respect to the target force F_cntrl is determined according to the equation (28). By measuring the actual force F with respect to the target force F_cntrl, the response matrix setter 50 sets a desired force response matrix F_Eff.

$\begin{matrix} {{F = {{\left( {I - {F\_ Eff}} \right) \cdot {F\_ cntrl}} + {{{F\_ Eff} \cdot {F\_ cntrl}}{\_ p}}}}{where}{{F\_ Eff} = \begin{pmatrix} {f\_ eff}_{1} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {f\_ eff}_{n} \end{pmatrix}}} & (28) \end{matrix}$

The actual torque τ_θ_act can be expressed by the equation (29) below as is the case with the equation (6). In the equation (29), τ_θ_cntrl refers to a target torque. The actual torque τ_θ_act with respect to the target torque τ_θ_cntrl can be determined according to the equation (29). τ_θ_act=(I−Eff)·τ_θ_cntrl+Eff·τ_θ_cntrl_(—) p  (29)

The actual torque τ_x_act can be expressed by the equation (30) below as is the case with the equation (6). In the equation (30), τ_x_cntrl refers to a target torque. The actual torque τ_x_act with respect to the target torque τ_x_cntrl can be determined according to the equation (30).

$\begin{matrix} {{{{\tau\_ x}{\_ act}} = {{{{\left( {I - {J\;{{base}^{T} \cdot {F\_ Eff}}}} \right) \cdot {\tau\_ x}}{\_ cntrl}} + {J\;{{base}^{T} \cdot {F\_ Eff} \cdot {\tau\_ x}}{\_ cntrl}{\_ p}}} = {{{\left( {I - {x\;{Eff}}} \right) \cdot {\tau\_ x}}{\_ cntrl}} + {x\;{{Eff} \cdot {\tau\_ x}}{\_ cntrl}{\_ p}}}}}\mspace{79mu}{where}\mspace{79mu}{{x\;{Eff}} = {J\;{{base}^{T} \cdot {F\_ Eff}}}}} & (30) \end{matrix}$

By substituting the equations (29), (30) in the actual torque τ_θ_act and the actual torque τ_x_act in the equation (27), the equation (27) is expressed by the following equation (31).

$\begin{matrix} {{{M \cdot {ddq\_ act}} + {C^{\prime}{\_ cmpn}}} = {{{\begin{pmatrix} {1 - {x\;{Eff}}} & 0 \\ 0 & {1 - {Eff}} \end{pmatrix} \cdot {\tau\_ total}}{\_ act}} + {{\begin{pmatrix} {x\;{Eff}} & 0 \\ 0 & {Eff} \end{pmatrix} \cdot {\tau\_ total}}{\_ act}{\_ p}}}} & (31) \end{matrix}$

From general equations of motion, the following equation is derived:

$\begin{matrix} {{{{M \cdot {ddq\_ cntrl}} + {C^{\prime}{\_ cmpn}}} = {{\tau\_ total}{\_ cntrl}}}{where}{{{ddq\_ cntrl} = \begin{pmatrix} {ddbase\_ cntrl} \\ {dd\theta\_ cntrl} \end{pmatrix}},{{{\tau\_ total}{\_ cntrl}} = \begin{pmatrix} {{\tau\_ x}{\_ cntrl}} \\ {{\tau\_\theta}{\_ cntrl}} \end{pmatrix}}}} & (32) \end{matrix}$

In the above equation, a target displacement acceleration ddbase_cntrl is a vector representation of target displacement accelerations ddbase_(1—)cntrl, ddbase_(2—)cntrl, . . . , ddbase_(n—)cntrl in respective directions on the base 80. ddq_cntrl which represents the target angular accelerations ddθ_cntrl of the plural joints 16 and the target displacement acceleration ddbase_cntrl of the base 80 is referred to as a target actuator displacement acceleration, and τ_total_cntrl which represents τ_x_cntrl and τ_θ_cntrl is referred to as a general target torque. The target actuator displacement acceleration ddq_cntrl is determined by the target value setter 56 depending on various factors such as the state of the base 80, the plural joints 16, etc.

From the equations (31), (32), the following equation (33) is derived in the same manner as the equation (11) is derived.

$\begin{matrix} {{{{m\_\tau}{\_ total}{\_ cntrl}} = {{M \cdot \left( {I - {t\; m\;{Eff}}} \right)^{- 1} \cdot \left( {{ddq\_ cntrl} - {t\; m\;{{Eff} \cdot {ddq\_ cntrl}}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{79mu}{where}\mspace{79mu}{{{t\; m\;{Eff}} = {M^{- 1} \cdot {totalEff} \cdot M}},{{totalEff} = \begin{pmatrix} {x\;{Eff}} & 0 \\ 0 & {Eff} \end{pmatrix}}}} & (33) \end{matrix}$

Therefore, the control torque calculator 58 calculates a general control torque m_τ_ddq_cntrl based on the target actuator displacement acceleration ddq_cntrl sent from the target value setter 56, and the motor controller 60 controls the plural motors 32 based on the determined general control torque m_τ_ddq_cntrl.

It is thus possible to determine a general control torque m_τ_ddq_cntrl so that the actual driver displacement acceleration ddq_act will reach the present target actuator displacement acceleration ddq_cntrl after the sampling time DT, based on the present target actuator displacement acceleration ddq_cntrl, the pervious target actuator displacement acceleration ddq_cntrl_p, the inertial matrix M, the force response matrix F_Eff, the displaceable member torque response matrix Eff, etc. When the motors 32 of the joints 16 _(i) are controlled based on the general control torque m_τ_ddq_cntrl, the responsiveness of the actuation of the joints 16 _(i) and the base 80 can be improved.

Modification 2

In the above embodiment and Modification 1, the joints 16 that are rotatable have been described as displaceable members. However, back-and-forth members which are actuatable linearly (actuatable back and forth) may be used as displaceable members.

FIG. 7 schematically shows the structure of a displaceable member actuating system 30 of an actuator 12 according to Modification 2. As shown in FIG. 7, the displaceable member actuating system 30 includes a motor 32, an actuating force converter 100, a power transmission assembly 104 having elastic members 102, and a back-and-forth member 106 connected to the actuating force converter 100 by the elastic members 102. Those parts shown in FIG. 7 which are identical to those shown in FIG. 2 are denoted by identical reference characters.

The actuating force converter 100 is threaded over an externally threaded output shaft 32 a of the motor 32. When the output shaft 32 a is rotated about its own axis by the motor 32, the actuating force converter 100 is axially moved in one of the directions indicated by the arrow. The actuating force converter 100 and the back-and-forth member 106 are connected to each other by the power transmission assembly 104. Therefore, when the actuating force converter 100 moves on and along the output shaft 32 a, the back-and-forth member 106 is also moved in one of the directions indicated by the arrow. In FIG. 7, the power transmission assembly 104 is illustrated as having the elastic members 102. However, the power transmission assembly 104 may be devoid of the elastic members 102. The motor 32 is combined with an angle sensor 36 for detecting the angle of the motor 32, and the back-and-forth member 106 is combined with a torque sensor 38 for detecting the torque of the back-and-forth member 106.

Even if each of the joints 16 is replaced with the back-and-forth member 106 which is movable back and forth by the motor 32 shown in FIG. 7, the equations (2) through (33) according to the above embodiment and Modification 1 are also satisfied. Therefore, the responsiveness can be improved for the back-and-forth member 106 replacing each of the joints 16. A speed reducer, not shown, may be connected to the output shaft 32 a of the motor 32, and the actuating force converter 100 may be threaded over an externally threaded output shaft of the speed reducer.

Modification 3

In the above embodiment and Modification 1, no elastic members are interposed between the motors 32 and the joints 16. However, elastic members may be interposed between the motors 32 and the joints 16.

FIG. 8 schematically shows the structure of a displaceable member actuating system 30 of an actuator 12 according to Modification 3. As shown in FIG. 8, the displaceable member actuating system 30 includes a motor 32, a speed reducer 34, a first pulley 110, a wire 112, a second pulley 114, and a joint 16.

The speed reducer 34 has an input shaft 34 a connected to an output shaft 32 a of the motor 32, and an output shaft 34 b connected to an input shaft 110 a of the first pulley 110. The wire 112 comprises an annular elastic member which is trained around the first pulley 110 and the second pulley 114. The wire 112 transmits rotational power from the first pulley 110 to the second pulley 114. The second pulley 114 has an output shaft 114 a connected to the joint 16. The motor 32 is combined with an angle sensor 36 for detecting the angle of the motor 32, and the second pulley 114 is combined with a torque sensor 38 for detecting the torque applied to the joint 16.

While the preferred embodiment of the present invention has been described, the technical scope of the present invention is not limited to the disclosure of the embodiment. It is obvious to those skilled in the art that various changes and modifications may be made to the above embodiment. Those change and modifications should be interpreted as being covered by the technical scope of the present invention as defined by the appended claims. 

What is claimed is:
 1. An actuating apparatus comprising: an actuator including a link having a plurality of displaceable members and a plurality of rotary prime movers for actuating the displaceable members; and a controller for controlling the actuator; wherein the controller includes a control torque calculator for calculating a control torque for the displaceable members so that an actual angular acceleration of the displaceable members will reach a present target angular acceleration of the displaceable members after a sampling time, using a displaceable member torque response matrix representing a torque response of the displaceable members, an inertial matrix of the actuator determined by an angle of the displaceable members, the present target angular acceleration of the displaceable members, and a preceding target angular acceleration of the displaceable members.
 2. The actuating apparatus according to claim 1, wherein each of the displaceable members comprises a joint which is rotatable or a back-and-forth member which is actuatable back and forth.
 3. The actuating apparatus according to claim 1, wherein the controller calculates the control torque according to the following equation (1): $\begin{matrix} {{{{m\_\tau}{\_ cntrl}} = {{M \cdot \left( {I - {m\;{Eff}}} \right)^{- 1} \cdot \left( {{dd\theta\_ cntrl} - {m\;{{Eff} \cdot {dd\theta\_ cntrl}}{\_ p}}} \right)} + {C\_ cmpn}}}\mspace{79mu}{where}\mspace{79mu}{{m\;{Eff}} = {M^{- 1} \cdot {Eff} \cdot M}}{{Eff} = {\begin{pmatrix} {eff}_{1} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {eff}_{n} \end{pmatrix} = \begin{pmatrix} {\frac{{Tc}_{1}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{1}}} \right)}} \right)} & \; & 0 \\ \; & \ddots & \; \\ 0 & \; & {\frac{{Tc}_{n}}{DT} \cdot \left( {1 - {\exp\left( {- \frac{DT}{{Tc}_{n}}} \right)}} \right)} \end{pmatrix}}}\mspace{79mu}{{{{m\_\tau}{\_ cntrl}} = \begin{pmatrix} {{m\_\tau}_{1}{\_ cntrl}} \\ {{m\_\tau}_{2}{\_ cntrl}} \\ \vdots \\ {{m\_\tau}_{n}{\_ cntrl}} \end{pmatrix}},{{dd\theta\_ cntrl} = \begin{pmatrix} {{dd}\;\theta_{1}{\_ cntrl}} \\ {{{dd}\theta}_{2}{\_ cntrl}} \\ \vdots \\ {{{dd}\theta}_{n}{\_ cntrl}} \end{pmatrix}},\mspace{79mu}{{C\_ cmpn} = \begin{pmatrix} {C_{1}{\_ cmpn}} \\ {C_{2}{\_ cmpn}} \\ \vdots \\ {C_{n}{\_ cmpn}} \end{pmatrix}}}} & (1) \end{matrix}$ where m_τ_(i—)cntrl represents control torques for i respective displaceable members, M represents an inertial matrix of the actuator, I represents a unit matrix, Eff is a displaceable member torque response matrix, eff_(i) are displaceable member torque response coefficients, Tc_(i) are time constants for i respective displaceable members, DT represents a sampling time, ddθ_(i—)cntrl are target angular accelerations for respective i displaceable members, ddθ_cntrl_p is a vector representation of preceding target angular accelerations ddθ_(i—)cntrl_p for the respective i displaceable members, and C_(i—)cmpn are force vectors generated by motions of displaceable members, wherein i=0, 1, 2, . . . , n.
 4. The actuating apparatus according to claim 3, wherein minimum time constants for the displaceable members is measured, and displaceable member torque response coefficients which are diagonal elements of the displaceable member torque response matrix are set using the measured minimum time constants.
 5. The actuating apparatus according to claim 1, wherein the control torque calculator calculates the present target angular acceleration of the displaceable members and the preceding target angular acceleration of the displaceable members, using a present target acceleration of change and a preceding target acceleration of change at a predetermined task position on the link and a coefficient matrix representing the relationship between a rate of change at the task position and angular velocities of the displaceable members, for thereby calculating the control torque for the displaceable members so that an actual acceleration of change at the task position will reach the present target acceleration of change after the sampling time.
 6. The actuating apparatus according to claim 1, wherein the actuator includes a base supported on the link; and the control torque calculator calculates the control torque for the displaceable members so that an actual actuator displacement acceleration which includes an actual angular acceleration of the displaceable members and actual displacement accelerations in respective directions of the base will reach a present target actuator displacement acceleration after the sampling time, from the present target actuator displacement acceleration which includes the present target angular acceleration and target displacement accelerations in respective directions for the base, and a preceding target actuator displacement acceleration, using a force response matrix representing the response of a force which a task position on a distal end of the link receives from the ground, a coefficient matrix representing the relationship between rates of change in respective directions of the base and a rate of change at the task position on the link, and a coefficient matrix representing the relationship between the rate of change at the task position and an angular velocity of the displaceable members. 